iperf

您所在的位置:网站首页 linux 测网速工具 iperf

iperf

2024-07-11 00:51| 来源: 网络整理| 查看: 265

时效性提醒:本文首次编写发布于6 年前。

最近开始折腾路由器,这种常见的小东西却每台都是“麻雀虽小,五脏俱全”,运行着Linux而又有着和通常PC大不一样的特殊硬件,是我们平时接触最多也是最有趣的一种嵌入式设备。简单粗暴的SPI Flash能让我们逐字节的了解设备底层的真是原理,而openwrt的SquashFS + JFFS2 Overlay的文件系统结构,又能让我们感受到linux虚拟文件系统的独特魅力,自然是十分有趣的。

回归正题,如今测试广域网的网速已是一件十分方便的事情,直接speedtest.net即可。而有时需要测试局域网中的速度时,使用广域网的测试服务器会受制于宽带的速度,所以往往只能用传文件这种原始且麻烦的方法。其实,局域网也可以有更准确且便捷的方法——既然没有测速服务器,那我们就自己建一个。

而iperf就是用来作这件事情的,它是一种linux下的C/S架构的网络带宽测试工具,各大发行版的软件源中都有,甚至包括openwrt以及termux/neoterm,以在路由器(不过由于多数路由器的CPU比较弱鸡,所以不建议在路由器上使用)和Android手机上运行。而Android上甚至还有专门的包含iperf的app,十分方便。

有一点值得注意的是,iperf分为iperf和iperf3两个版本,这两个版本各自的Server和Client不互相兼容,建议使用iperf3,更加好用一些。

使用方法

iperf3的用法十分简单,首先在一台设备上启动服务端:

iperf3 -s

若要作为一个daemon启动以保持后台运行,可以加入-D参数。

之后,另一台设备上运行客户端,连接服务端即可测试其之间的连接速度:

iperf3 -c

输出类似这样:

$ iperf3 -c 192.168.1.128 Connecting to host 192.168.1.128, port 5201 [ 5] local 192.168.1.247 port 38736 connected to 192.168.1.128 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 113 MBytes 945 Mbits/sec 0 428 KBytes [ 5] 1.00-2.00 sec 111 MBytes 934 Mbits/sec 0 450 KBytes [ 5] 2.00-3.00 sec 112 MBytes 937 Mbits/sec 0 450 KBytes [ 5] 3.00-4.00 sec 111 MBytes 934 Mbits/sec 0 482 KBytes [ 5] 4.00-5.00 sec 112 MBytes 937 Mbits/sec 0 505 KBytes [ 5] 5.00-6.00 sec 112 MBytes 942 Mbits/sec 0 505 KBytes [ 5] 6.00-7.00 sec 111 MBytes 932 Mbits/sec 0 505 KBytes [ 5] 7.00-8.00 sec 112 MBytes 937 Mbits/sec 0 505 KBytes [ 5] 8.00-9.00 sec 112 MBytes 940 Mbits/sec 0 505 KBytes [ 5] 9.00-10.00 sec 111 MBytes 930 Mbits/sec 0 526 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 1.09 GBytes 937 Mbits/sec 0 sender [ 5] 0.00-10.00 sec 1.09 GBytes 934 Mbits/sec receiver iperf Done.

这样就可以反映出设备间真实的连接速度,其实也许你已经注意到了,iperf不仅可以在局域网中用,也可以在广域网中的服务器上运行服务端,不过由于一般都直接用httpd之类的服务测速度了,所以不是很常用。

后记

其实除了iperf,还有更加简单粗暴的方法,即使用Netcat当作透传的服务端和客户端,用dd来发送数据并统计速度:

Server: nc -vvlnp > /dev/null Client: dd if=/dev/zero bs=1M count=1K | nc -vvn

不过这样只能测试Client -> Server单向的速度,且比较简陋。

内容 1 使用方法 2 后记


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3